package com.project.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.project.bean.PowerBean;
import com.project.bean.UserBean;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface IUserMapper extends BaseMapper<UserBean> {

    void addUserRole(@Param("userId") Integer userId, @Param("roleIdList") List<Integer> roleIdList);

    /**
     * 根据角色Id集合查询权限
     * 根据角色Id集合查询权限，权限去重
     * @param roleId 角色Id集合
     * @return 权限集合
     */
    List<PowerBean> findByRoleIdList(@Param("roleIdList") List<Integer> roleId);

    /**
     * 删除用户
     * 删除用户，同时删除用户拥有的角色记录
     * @param id 用户id
     */
    void delUser(Integer id);

    /**
     * 查看用户角色
     * 根据用户id，查询用户信息，并查询用户拥有角色集合
     * @param userId 用户Id
     * @return 用户对象
     */
    UserBean findById(Integer userId);

    /**
     * 修改用户角色
     * @param userId 用户id
     */
    void del(Integer userId);


    /**
     * 根据用户id查询用户及用户拥有的权限
     * @param userId 用户id
     * @return 用户对象
     */
    List<PowerBean> findByPower(Integer userId);
}
